In the automation field, and more specifically during operational machine planning for a plant, an engineer traditionally creates a model that describes the operation a machine or system which will later be involved in the plant operation phase. For Example a mechanical model of a lifting apparatus is illustrated in FIGS. 1A-1H.
Referring to FIG. 1A, the lifting apparatus 100 has securing ends 110, rollers 120, a surface 115, and a lifter 130. The securing ends 110 may move up and down and are shown in an up position in FIG. 1A. The lifter 130 may raise or lower the surface 115 and is shown in a lower level position in FIG. 1A. Referring to FIG. 1B, the securing ends 110 are moved down into a down position. Referring now to FIG. 1C, the rollers 120 rotate to convey a parcel 140 onto the surface 115 of the lifting apparatus 100. As shown in FIG. 1D, at a time after the parcel 140 is located on the surface 115 of the lifting apparatus 100, the securing ends 110 are moved up. In particular, the securing ends 110 move from the down position to the up position in order to secure the parcel 140 onto the lifting apparatus 100. As shown in FIG. 1E, the lifter 130 raises the surface 115 from the lower level position to upper level position. Referring now to FIG. 1F the securing ends 110 move from the up position to the down position in FIG. 1G, the rollers 120 rotate to convey parcel 140 off the surface 115 of the lifting apparatus 100. Referring to FIG. 1H, the securing ends 110 are moved up from the down position to the up position. The lifter 130 lowers the surface 115 from the upper level to the lower level as shown in FIG. 1A.
Gantt Charts are commonly used to illustrate a project flow for project management purposes and to illustrate automation control. In FIG. 2, a Gantt chart provides a mechanical model which illustrates a sequence flow of the mechanical operation of the lifting apparatus of FIGS. 1A-1H.
In order to program digital controllers to operate the machines of an automation system, the mechanical model is traditionally given to an engineer that is familiar with programmable logic controller (PLC) programming. This engineer abstracts the mechanical model and creates the PLC runtime software that realizes the requirements described in the mechanical model.
The abstraction of the mechanical model depends on the programming method the engineer chooses. Examples of methods for programming a PLC include Statement List (STL), Ladder Logic, and Step Chain. Programming. In each of these cases, the programming requires a manual abstraction. A manual abstraction is time consuming and tends to be error-prone.